package com.kymatrix.kycarbon.xsmd.system.api.dto;

import java.time.LocalDateTime;
import lombok.Data;

/**
 * @author liujie
 * @date 2024-04-17
 */
@Data
public class SaveOperateLogDto {

    /**
     * 用户id
     */
    private String userId;
    
    private String username;

    /**
     * 操作模块类型
     */
    private String type;
    /**
     * 操作名
     */
    private String subType;
    /**
     * 操作模块业务编号
     */
    private Long bizId;
    /**
     * 拓展字段，有些复杂的业务，需要记录一些字段 ( JSON 格式 )
     *
     * 例如说，记录订单编号，{ orderId: "1"}
     */
    private String extra;

    /**
     * 请求方法名
     */
    private String requestMethod;
    /**
     * 请求地址
     */
    private String requestUrl;
    /**
     * 用户 IP
     */
    private String userIp;
    /**
     * 浏览器 UA
     */
    private String userAgent;

    private LocalDateTime beginTime;
    private LocalDateTime endTime;
    /**
     * 耗时
     */
    private Long elapsedTime;
    
    private String tenantId;
    
    private Integer requestType;
    private String requestParams;
    private Integer resultCode;
    private String resultMsg;
    private String exceptionInfo;

}
